<?php

	define('PATH_APPLI',	dirname(__FILE__).'/../');

	define('PATH_INCLUDE',	PATH_APPLI.'include/');
	define('PATH_CLASSES',	PATH_APPLI.'classes/');
	define('PATH_TEMPLATE',	PATH_APPLI.'templates/');

	define('PATH_OBJECT',	PATH_CLASSES.'dataObject/');

	$sIniFile = realpath(dirname(__FILE__)).'/config.ini';
	$sIniErrorFile = realpath(dirname(__FILE__)).'/error_message.ini';

	if (!is_file($sIniFile))
		die("Pas de fichier de configuration ($sIniFile)");

	/**
	 * Fonction d'initialisation d'une variable globale.
	 *
	 * @param	array	$aConf	Tableau contenant la configuration (résultat du parse_ini_file).
	 * @param	String	$sName	Nom du paramétre à initialiser.
	 * @return	bool	True si le paramétre existe, False sinon.
	 */
	function initDefine($aConf, $sName, $mDefault=null)
	{
		$rbRet = false;
		if (isset($aConf[$sName]))
		{
			if (!defined($sName))
			{
				$sValue = $aConf[$sName];
				$sPattern = '/^{(.*)}$/';
				$aMatches = array();
				$bContinue = (preg_match($sPattern, $sValue, $aMatches) !== false);
				if (count($aMatches))
				{
					try{
						eval("define('$sName',".$aMatches[1].");");
					}
					catch(Exception $e)
					{
						define($sName,$mDefault);
						die('JAI ERREUR');
					}
				}
				else
					define($sName,$sValue);
			}
			else
				define($sName,$mDefault);

			$rbRet = true;
		}
		return $rbRet;
	}

	$aConf = parse_ini_file($sIniFile);

	initDefine($aConf, '_SGBD_HOST');
	initDefine($aConf, '_SGBD_BDD');
	initDefine($aConf, '_SGBD_USER');
	initDefine($aConf, '_SGBD_PASS');
	initDefine($aConf, 'SENDMAIL_PATH');

	// POSITIONNEMENT DU NIVEAU D ERREUR
	initDefine($aConf, '_ERROR_REPORTING');
	error_reporting ( _ERROR_REPORTING );

	//chargement des messages d'erreur
	$aErrors = parse_ini_file($sIniErrorFile);

	while (list($sCodeErr, $sLibErr) = each($aErrors))
	{
    	initDefine($aErrors, $sCodeErr);

	}
    
    require_once PATH_APPLI . 'Connections/microassur.php' ;
    require_once PATH_INCLUDE . 'inc_html_fonctions.php' ;
	include_once(PATH_CLASSES . 'auto_load.php');

	$_SESSION['information'] = array();

    // --- les constantes du dictionnaire
    define('CODE_TABLE_TYPE_REF_EXTERNE', 'T0016') ;
    define('ETAT_RIB_ACTIF', 'A') ;
    define('ETAT_RIB_INACTIF', 'I') ;
    define('TYPE_PERSONNE_MORALE', 'M') ;
    define('TYPE_PERSONNE_PHYSIQUE', 'P') ;

	// --- Les modes de PAIEMENT
    define('MODE_PAIEMENT_CHEQUE', 'C') ;
    define('MODE_PAIEMENT_ESPECE', 'E') ;
    define('MODE_PAIEMENT_PRELEVEMENT', 'P') ;
    define('MODE_PAIEMENT_VIREMENT', 'P') ;

?>